package com.yun.config;

import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class JWTTest {
    public static void main(String args[]){
        //生成一个jwt
        String jwt ="";
        //日历
        Calendar calendar = Calendar.getInstance();
        Date time = calendar.getTime();//获取当前时间
        calendar.add(Calendar.MINUTE,30);
        Date time1 = calendar.getTime();//在当前时间之后的30分钟
        //setExpiration(time1)过期时间
        //setIssuedAt(time)
        /**
         * signWith(SignatureAlgorithm.HS256,"cmxh");
         * 第一个参数是 加密方式
         * 第二个参数是 秘钥
         */
        JwtBuilder cmxh = Jwts.builder().setExpiration(time1).setIssuedAt(time).signWith(SignatureAlgorithm.HS256, "cmxh");
        //配置私有信息
        Map map = new HashMap();
        map.put("username","admin");
        map.put("age","22");
        cmxh.addClaims(map);
        // 通过JwtBuilder对象的compact这个方法来生成JWT字符串
        jwt = cmxh.compact();
        System.out.println(jwt);
    }
}
